/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufba.lasid.base.api;

/**
 *
 * @author aliriosa
 */
public interface IResource {
    
    public enum States{
        Up, Down, Undefined
    }
    
    public enum Kinds{
        Host, VirtualMachine, Base
    }
    
    public String getID();    
    public Kinds getKind() throws Exception;
    public void setKind(Kinds newKind) throws Exception;
    public IResource getParent();
    public void setParent(IResource newParent);
    
    public void setState(States newState);
    public States getState();
    
    public boolean isUp();
    public boolean isDown();
    public boolean isUndefined();
    
    public void updateState() throws Exception;
    public String getAddress() throws Exception;
    
}
